#!/usr/bin/python
# -*- coding: utf-8 -*-
import os
import shutil

NAME_APPLI = 'xtrack'

def remove_svn_and_pyc(src, names):  # pylint: disable-msg=W0613
    return [".svn", ".pyc"]

if __name__ == '__main__':        
    
    print("Début de la génération de l'exécutable")
    
    # repertoire de generation
    sGenerationFolder = "gen"
    
    #nettoyage
    print 'Nettoyage du répertoire de génération'
    shutil.rmtree(sGenerationFolder, True)
    shutil.rmtree('dist', True)
    shutil.rmtree('build', True)
    print 'FIN Nettoyage du répertoire de génération'
    
    #copie des sources dans le repertoire de generation
    shutil.copytree("../src", sGenerationFolder, ignore=remove_svn_and_pyc)    
    
    #generation    
    os.system('python generation/generation_tool.py py2exe') 
    print "FIN Génération de l'executable" 
    
    #packaging
    print "Début du packaging"
    
    print "Copie des fichiers d'installation"
    #suppression du repertoire install
    shutil.rmtree('install', True)
    
    # creation du bin
    shutil.copytree('dist', 'install/bin', ignore=remove_svn_and_pyc)
    
    print "copie des ressources"
    shutil.copytree('../conf','install/conf', ignore=remove_svn_and_pyc)
    shutil.copytree('../static','install/static', ignore=remove_svn_and_pyc)
    shutil.copytree('../templates','install/templates', ignore=remove_svn_and_pyc)
    
    shutil.rmtree('package/%s' % (NAME_APPLI), True)  
    shutil.copytree('install', 'package/%s' % (NAME_APPLI))
    
    print "Nettoyage"    
    shutil.rmtree('gen', True)
    shutil.rmtree('dist', True)
    shutil.rmtree('build', True)
    shutil.rmtree('install', True)
    
    
    
    print "FIN du script de génération et packaging de %s" % (NAME_APPLI)
    print "L'installeur se trouve dans le sous-répertoire 'package/%s'" % (NAME_APPLI)
    
    
    